

import nw from "nw-lafjs";
import {fail, ok} from "@/utils/responseUtil";

export default async function (ctx: FunctionContext) {
  let id = ctx.body._id
  if (nw.util.isNull(id)){
    return fail("数据不合法")
  }
  //2.查询主体信息
  let skuInfo = await nw.db.findById({
    dbName:"skuInfo",
    id:id
  })
  if (nw.util.isNull(skuInfo)){
    return ok(null)
  }
  //2.查询附属信息
  const p1 = nw.db.findListByWhereJson({
    dbName:"skuAttrValue",
    whereJson:{deleted:0,skuId:id}
  })
  const p2 = nw.db.findListByWhereJson({
    dbName:"skuImage",
    whereJson:{deleted:0,skuId:id}
  })
  const p3 = nw.db.findListByWhereJson({
    dbName:"skuPoster",
    whereJson:{deleted:0,skuId:id}
  })

  let [skuAttrValueList,skuPosterList,skuImagesList] = await Promise.all([p1,p3,p2])

  skuInfo.skuAttrValueList = skuAttrValueList
  skuInfo.skuPosterList = skuPosterList
  skuInfo.skuImagesList = skuImagesList
  if (nw.util.isNull(skuInfo.skuImagesList)){
    skuInfo.skuImagesList = []
  }
  if (nw.util.isNull(skuInfo.skuPosterList)){
    skuInfo.skuPosterList = []
  }
  if (nw.util.isNull(skuInfo.skuImagesList)){
    skuInfo.skuImagesList = []
  }

  return ok(skuInfo)
}
